// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程：https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129
const db = uniCloud.database()
const cmd = db.command
const users = db.collection('users')
const department = db.collection('department')

module.exports = {
	async getList(event) {
		let res = await department.aggregate()
			.project({
				_id: 1,
				name: 1,
				sort: 1
			})
			.sort({
				sort: 1
			}) // 部门按 sort 字段升序
			.lookup({
				from: 'users',
				let: {
					dept_id: '$_id'
				}, // 定义局部变量
				pipeline: [{
						$match: {
							$expr: {
								$eq: ['$d_ids.value', '$$dept_id']
							} // 关联条件
						}
					},
					{
						$sort: {
							'j_ids.sort': 1
						}
					} // 关键修改：用户按 j_ids.sort 升序
				],
				as: 'item' // 输出到 item 数组
			})
			.end()
		return {
			data: res.data
		}
	},
	_before: function() { // 通用预处理器

	},
	/**
	 * method1方法描述
	 * @param {string} param1 参数1描述
	 * @returns {object} 返回值描述
	 */
	/* 
	method1(param1) {
		// 参数校验，如无参数则不需要
		if (!param1) {
			return {
				errCode: 'PARAM_IS_NULL',
				errMsg: '参数不能为空'
			}
		}
		// 业务逻辑
		
		// 返回结果
		return {
			param1 //请根据实际需要返回值
		}
	}
	*/
}